home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / bbs_util / bsrc_260.zip / INCLUDE.ZIP / JANUS.H < prev    next >
Text File  |  1996-02-20  |  6KB  |  119 lines

  1. /*--------------------------------------------------------------------------*/
  2. /*                                                                          */
  3. /*                                                                          */
  4. /*      ------------         Bit-Bucket Software, Co.                       */
  5. /*      \ 10001101 /         Writers and Distributors of                    */
  6. /*       \ 011110 /          Freely Available<tm> Software.                 */
  7. /*        \ 1011 /                                                          */
  8. /*         ------                                                           */
  9. /*                                                                          */
  10. /*              (C) Copyright 1987-96, Bit Bucket Software Co.              */
  11. /*                                                                          */
  12. /*                                                                          */
  13. /*                                                                          */
  14. /*                     Janus definitions for BinkleyTerm                    */
  15. /*                                                                          */
  16. /*                                                                          */
  17. /*    For complete  details  of the licensing restrictions, please refer    */
  18. /*    to the License  agreement,  which  is published in its entirety in    */
  19. /*    the MAKEFILE and BT.C, and also contained in the file LICENSE.260.    */
  20. /*                                                                          */
  21. /*    USE  OF THIS FILE IS SUBJECT TO THE  RESTRICTIONS CONTAINED IN THE    */
  22. /*    BINKLEYTERM  LICENSING  AGREEMENT.  IF YOU DO NOT FIND THE TEXT OF    */
  23. /*    THIS  AGREEMENT IN ANY OF THE  AFOREMENTIONED FILES,  OR IF YOU DO    */
  24. /*    NOT HAVE THESE FILES,  YOU  SHOULD  IMMEDIATELY CONTACT BIT BUCKET    */
  25. /*    SOFTWARE CO.  AT ONE OF THE  ADDRESSES  LISTED BELOW.  IN NO EVENT    */
  26. /*    SHOULD YOU  PROCEED TO USE THIS FILE  WITHOUT HAVING  ACCEPTED THE    */
  27. /*    TERMS  OF  THE  BINKLEYTERM  LICENSING  AGREEMENT,  OR  SUCH OTHER    */
  28. /*    AGREEMENT AS YOU ARE ABLE TO REACH WITH BIT BUCKET SOFTWARE, CO.      */
  29. /*                                                                          */
  30. /*                                                                          */
  31. /* You can contact Bit Bucket Software Co. at any one of the following      */
  32. /* addresses:                                                               */
  33. /*                                                                          */
  34. /* Bit Bucket Software Co.        FidoNet  1:104/501, 1:343/491             */
  35. /* P.O. Box 460398                AlterNet 7:42/1491                        */
  36. /* Aurora, CO 80046               BBS-Net  86:2030/1                        */
  37. /*                                Internet f491.n343.z1.fidonet.org         */
  38. /*                                                                          */
  39. /* Please feel free to contact us at any time to share your comments about  */
  40. /* our software and/or licensing policies.                                  */
  41. /*                                                                          */
  42. /*--------------------------------------------------------------------------*/
  43.  
  44. /* Misc. Constants */
  45.  
  46. #define BUFMAX 2048            /* Max packet contents length                   */
  47. #define NUM_FLAGS 4            /* Number of mail-type flag characters (O,D,C,H)*/
  48. #define JANUS_EFFICIENCY 95    /* Estimate Janus xfers at 95% throughput       */
  49.  
  50. /* Positions of transfer status line fields */
  51.  
  52. #define POS_X 21
  53. #define LEN_X 30
  54. #define ETA_X 40
  55. #define MSG_X 50
  56.  
  57. /* File Transmission States */
  58.  
  59. #define XDONE            0    /* All done, no more files to transmit          */
  60. #define XSENDFNAME        1    /* Send filename packet                         */
  61. #define XRCVFNACK        2    /* Wait for filename packet ACK                 */
  62. #define XSENDBLK        3    /* Send next block of file data                 */
  63. #define XRCVEOFACK        4    /* Wait for EOF packet ACK                      */
  64. #define XSENDFREQNAK    5    /* Send file request NAK (no matches found)     */
  65. #define XRCVFRNAKACK    6    /* Wait for ACK to file request NAK             */
  66.  
  67. /* File Reception States */
  68.  
  69. #define RDONE            0    /* All done, nothing more to receive            */
  70. #define RRCVFNAME        1    /* Wait for filename packet                     */
  71. #define RRCVBLK            2    /* Wait for next block of file data             */
  72.  
  73. /* Packet Types */
  74.  
  75. #define NOPKT            0      /* No packet received yet; try again later      */
  76. #define BADPKT            '@'    /* Bad packet received; CRC error, overrun, etc.*/
  77. #define FNAMEPKT        'A'    /* Filename info packet                         */
  78. #define FNACKPKT        'B'    /* Filename packet ACK                          */
  79. #define BLKPKT            'C'    /* File data block packet                       */
  80. #define RPOSPKT            'D'    /* Transmitter reposition packet                */
  81. #define EOFACKPKT        'E'    /* EOF packet ACK                               */
  82. #define HALTPKT            'F'    /* Immediate screeching halt packet             */
  83. #define HALTACKPKT        'G'    /* Halt packet ACK for ending batch             */
  84. #define FREQPKT            'H'    /* File request packet                          */
  85. #define FREQNAKPKT        'I'    /* File request NAK (no matches for your req)   */
  86. #define FRNAKACKPKT        'J'    /* ACK to file request NAK                      */
  87.  
  88. /* Non-byte values returned by rcvbyte() */
  89.  
  90. #define BUFEMPTY    (-1)
  91. #define PKTSTRT        (-2)
  92. #define PKTEND        (-3)
  93. #define NOCARRIER    (-4)
  94. #define PKTSTRT32    (-5)
  95.  
  96. /* Bytes we need to watch for */
  97.  
  98. #define PKTSTRTCHR        'a'
  99. #define PKTENDCHR        'b'
  100. #define PKTSTRTCHR32    'c'
  101.  
  102. /* Various action flags */
  103.  
  104. #define GOOD_XFER        0
  105. #define FAILED_XFER        1
  106. #define INITIAL_XFER    2
  107. #define ABORT_XFER        3
  108.  
  109. #define DELETE_AFTER    '-'
  110. #define TRUNC_AFTER        '#'
  111.  
  112. /* Protocol capability flags */
  113.  
  114. #define CANCRC32    0x80
  115. #define CANFREQ     0x40
  116.  
  117. #define OURCAP    (CANCRC32 | CANFREQ)
  118.  
  119.